iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0
Mobile Development

Google Maps SDK for Android 與 GIS App 開發筆記系列 第 2

Day 2: GIS 是什麼? GIS 在 App 上常見的應用方式與資料格式

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20230916/20160271UEdTvDlTEG.jpg
Photo by GeoJango Maps on Unsplash


GIS 是什麼?

相信很多人應該跟我當初踏入這個領域的時候一樣,對於 GIS 這個名詞都有些陌生。

GIS 是 Geographic Information System 的縮寫,中文翻譯為地理資訊系統。

直觀地來看,就是指一種跟地理資料有關的資訊系統。而根據維基百科的定義,

一個地理資訊系統是一種具有資訊系統空間專業形式的資料管理系統。在嚴格的意義上,這是一個具有集中、儲存、操作、和顯示地理參考資訊的電腦系統。

換句話說,透過地理資訊系統,我們可以整理與歸納地理空間的相關資訊,進而輔助我們做決策或發現特定現象或趨勢。

通常一個 GIS 系統都會搭配一個空間資料庫,用來儲存空間資料與屬性資料。
以 Android App 來說,筆者有使用過的是 Spatialite 這套資料庫系統,有關這套資料庫系統會在後面的文章中介紹。

GIS 在 App 上的應用

https://ithelp.ithome.com.tw/upload/images/20230916/20160271nozjcLnapU.png

在生活中最常見的 App GIS 應用,就是 Google Maps 了。
我們可以透過關鍵字查詢地點資訊,也可以查找目前位置特定距離內的地理資訊,或是透過不同圖層設定切換,來查看目前的車流與交通狀況。

而以國內的應用服務來說,中央氣象局 (現已改制為中央氣象署) 的 中央氣象局W 與 環境部的環境即時通,都是 GIS應用在 App 上很好的範例。

https://ithelp.ithome.com.tw/upload/images/20230916/20160271ozjEi9uViS.png

使用者透過裝置取得的目前位置,可以查找周遭的空品與天氣資訊,進而做出是否外出活動等生活決策。

常見的資料格式與背景知識

整理一些在 GIS 應用中常遇到的資料格式與背景知識

座標系統

首先,讓我們先快速地了解一下座標系統。

一個完整的座標系統格式是由大地基準 (Geodetic Datum) 與 座標格式 (Format/Grid) 所組成。大地基準代表的是座標系統量測的依據。座標格式代表的則是座標的表示方式。而座標格式又可分為 GCS 地理/球面座標與 PCS 投影座標。

大地基準 (Geodetic Datum) 座標格式 (Format/Grid)
說明 大地量測時做為計算依據的事物。 座標格式又可分為1. GCS 地理座標 (經緯度)2. PCS 投影座標 (平⾯座標)
舉例 TWD67、TWD97、WGS84 TM2、經緯度

只要大地基準或座標格式任一不相同,空間資料在處理時就會存在誤差,所以在處理空間資料前,一定要先確認兩者的座標系統,如有不同就要將其轉換成相同的座標系統後,再做處理~

台灣常用座標系統

EPSG 大地基準 座標格式 類型 用途/適用範圍
3824 TWD97 經緯度 GCS 國土測繪中心發佈全國性資料
3825 TWD97 TM2 zone 119 PCS 澎湖、金門、馬祖
3826 TWD97 TM2 zone 121 PCS 臺灣、琉球嶼、綠島、蘭嶼及龜山島
3827 TWD67 TM2 zone 119 PCS 澎湖、金門、馬祖 (早期)
3828 TWD67 TM2 zone 121 PCS 臺灣、琉球嶼、綠島、蘭嶼及龜山島 (早期)
3857 WGS84 Spherical Mercator PCS 多數圖磚、WMTS 服務都使用此座標系統。(Google, Mapbox, OpenStreetMap)
4326 WGS84 經緯度 GCS 全球性資料主流 (Google Maps, GPS)

以埔里的地理中心碑為例:

EPSG X 座標 Y 座標
3824 23.973875 120.982025
3826 2652130 248171
3828 2652336 247342

https://ithelp.ithome.com.tw/upload/images/20231222/20160271HJpYjSozIG.png

有需要使用座標轉換的讀者,可以參考 上河文化: 台灣及澎湖座標轉換與地理定位 的服務。

有關座標系的詳細說明,有興趣的讀者可以看以下推薦的文章,都說明得很清楚~

  1. Medium: 台灣常用座標系統
  2. iThome: [Day10] 坐標系統及WebGIS常用的坐標轉換
  3. 台灣常用的坐標系統及EPSG代碼
  4. 上河文化: 大地座標系統與二度分帶座標

線上圖磚服務 WMTS

WMTS 全稱是 Web Map Tile Service,是一種將高品質地圖依據網格系統切割成小圖磚發布的網路服務。

https://ithelp.ithome.com.tw/upload/images/20230916/20160271xhhhOp5fKc.png
圖片來源:Google Maps Doc

在後面幾天的 Google Maps SDK 介紹中,我們將實際套疊由 內政部國土測繪中心 所提供的 台灣通用電子地圖 WMTS 服務。

離線圖磚服務 MBTiles

MBTiles is a file format for storing map tiles in a single file. It is, technically, a SQLite database.
MBTiles

MBTiles 是一種能將圖磚檔案儲存在單一檔案的檔案格式,但技術上來說,就是一個 SQLite 的檔案。
當 App 需要離線的圖層套疊時,MBTiles 就是很好的解決方案之一。

這個部分在未來的文章中,也將使用 國土測繪服務雲 所提供的 臺灣通用電子地圖(套疊等高線)MBTiles檔來做套疊練習。

WKT

Well-known Text (WKT) 是由開放地理空間協會 (OGC) 所訂定的純文字標記語言(text markup language),用來表示點、線、面等向量資料。

以多邊形 Polygon 來說,其 WKT 可能會是像這樣:

POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))

實務上,App 可能讀取來自 Web API 或 Spatialite 中的 WKT,並將其呈現在圖台上。又或者,將使用者在圖台上繪製或標記的成果轉成 WKT 格式儲存或傳輸。

GeoJSON

GeoJSON 是基於 JSON 的地理空間資料格式,使用 WGS84 作為參考座標系統。

以一個單點來說,其 GeoJSON 可能會是這樣:

{
    "type": "Point", 
    "coordinates": [30, 10]
}

實務上跟 WKT 一樣,是常見的空間資料交換格式,Google 所提供的 Directions API (導航路線)回傳的就是 GeoJSON。

以上就是今天所要聊的內容,明天將會帶大家看看,Android 中常與 GIS 服務結合的 GPS 定位功能該怎麼實作。

謝謝您耐心地閱讀,我們明天見囉~


上一篇
Day 1: 開賽啦~ 先來聊聊這三十天要做些什麼
下一篇
Day 3: Android 中常與 GIS 服務結合的功能:GPS 定位
系列文
Google Maps SDK for Android 與 GIS App 開發筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言